// 规定职能输入数字和一个小数点
export function digitalInput(value) {
	let msg = ''
	if (value) {
		// 去掉非数字字符以及负数
		const arr = []
		// 去掉斜杠反斜杠字符
		const items = [...value]
		items.forEach(item => {
			if (['1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '.'].includes(item)) {
				arr.push(item)
			}
		})

		if (arr.includes('.')) {
			const index = arr.findIndex(item => item === '.')
			for (let i = 0; i < arr.length; i++) {
				if (i !== index && arr[i] !== '.') {
					msg += arr[i]
				} else if (i === index && i !== 0) { // 只能有一位小数点，不能出现在第一位
					msg += '.'
				}
			}
			msg = msg.toString().replace(/[^\d\.]/g, '')
		} else {
			msg = value.toString().replace(/[^\d\.]/g, '')
		}
		if (msg.includes('-')) {
			msg = msg.replace('-', '')
		}

		// 去掉开头多于1个零
		const arr1 = [...msg]
		let list = []
		for (let i = 0; i < arr1.length; i++) {
			if (i === 0) {
				list.push(arr1[i])
				// eslint-disable-next-line eqeqeq
			} else if (arr[0] == 0 && arr[1] != '.') {
				// 这里之所以使用 不相等运算符 ，因为value可能是字符串
				list = arr1.filter((item, index) => index === 0)
			} else {
				list.push(arr[i])
			}
		}

		msg = list.join(',').replace(/,/g, '')
	} else {
		msg = ''
	}

	return msg
}
